Intellij IDEA 部署 Web 项目时,web.xml 无法正常解析导致 jsp 显示错误
背景
intellij IDEA 将应用打成
war
包可以正常运行及显示eclipse 使用同样的
tomcat | JDK
运行正常intellij IDEA 使用
tomcat
运行失败
错误信息
Intellij IDEA 控制台信息
1 | java.io.FileNotFoundException: Could not resolve XML resource [null] with public ID [-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN], system ID [http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd] and base URI [jar:file:/D:/Code/IDE-workspace/iptvView/target/WEB-INF/lib/standard-1.1.2.jar!/META-INF/c-1_0-rt.tld] to a known, local entity. |
Chrome 浏览器页面信息
1 | HTTP Status 500 - The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application |
项目
xxx/WEB-INF/lib
中不存在相关jar
包
可以从 mavenrepository地址 中找到相应jar
包,添加相关依赖到pom.xml
文件中并重新编译,查看问题是否解决。
注: 通过添加缺失jar
可以解决的就不用往下看了
项目依赖中存在相关依赖,依然无法正常显示页面
- 找到项目配置的
tomcat
下xx\apache-tomcat-8.0.52\conf\context.xml
文件
- 修改文件,添加如下内容
<Context xmlBlockExternal=”false” >
注: 只需要添加下划线中的 xmlBlockExternal="false"
到 Context
标签即可
总结:
出现
jsp
页面显示错误,一般都是缺少jar
包所致。可检查在tomcat
或编译后的文件夹中是否能够找到相关依赖。上述异常中缺失的
jar
有,然而本次并不是缺少jar
的错误
1 | standard-1.1.2.jar、jstl-1.2.jar、jersey-server-1.9.jar、jstl-impl.jar |
- 本博客无法解决疑问时,可简练相关关键字再搜索。
参考博客 新版Tomcat无法解析web.xml